import instance from './axios.js'

// const get = (url, data) => {
//     return new Promise((resolve, reject) => {
//         instance
//             .get(url, { params: data })
//             .then((res) => {
//                 resolve(res);
//             })
//             .catch((err) => {
//                 reject(err);
//             });
//     });
// };

const get = (url, config) => {
    return new Promise((resolve, reject) => {
        instance
            .get(url, config)
            .then((res) => {
                resolve(res);
            })
            .catch((err) => {
                reject(err);
            });
    });
};

const post = (url, data,config) => {
    return new Promise((resolve,reject)=>{
        instance
            .post(url,data,config)
            .then((res)=>{
                resolve(res)
            })
            .catch(err=>reject(err)) ;

    });
};

// const params = new URLSearchParams();
// params.append('param1', 'value1');
// params.append('param2', 'value2');
const postForm = (url, form) => {
    return new Promise((resolve,reject)=>{
        instance
            .post(url,form,{
                headers: {
                    'Content-Type': 'application/x-www-form-urlencoded'
                }
            })
            .then((res)=>{
                resolve(res)
            })
            .catch(err=>reject(err)) ;
    });
};

const put = (url, data,config) => {
    return new Promise((resolve, reject) => {
        instance
            .put(url, data)
            .then((res) => {
                resolve(res);
            })
            .catch((err) => {
                reject(err);
            });
    });
};

const putForm = (url, form) => {
    return new Promise((resolve, reject) => {
        instance
            .put(url, form,{
                headers: {
                    'Content-Type': 'application/x-www-form-urlencoded'
                }
            })
            .then((res) => {
                resolve(res);
            })
            .catch((err) => {
                reject(err);
            });
    });
};


const del = (url, config) => {
    return new Promise((resolve, reject) => {
        instance
            .delete(url, config)
            .then((res) => {
                resolve(res);
            })
            .catch((err) => {
                reject(err);
            });
    });
};

export default {get,post,postForm,put,putForm,del}